package com.kurumi.medical.service;

import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageInfo;
import com.kurumi.medical.model.HospitalVisitExaminationReportsInfo;
import com.kurumi.medical.model.HospitalVisitInfusionBloodRecord;
import com.kurumi.medical.model.HospitalVisitRecordSheet;
import com.kurumi.medical.pojo.User;
import com.kurumi.medical.util.Result;
import com.kurumi.medical.vo.BloodTransfusionVO;
import com.kurumi.medical.vo.PatVisitVO;

public interface HospitalVisit305Service {

	public List<Map<String, Object>> getDatasByOracle();
	
	public Result getDatasByOracle(String mrId,Integer visitNumber);
	
	/**
	 * 为已有VisitGuid封装结构化首页
	 * @param mrId
	 * @param visitNumber
	 * @param visitGuid
	 * @return
	 */
	public Result getDatasByOracle(String mrId,Integer visitNumber,String visitGuid);
	
	public void insertHospitalVisitRecords(List<Map<String, Object>> datas,User user);
	
	
	/**
	 * 为已有VisitGuid保存结构化首页
	 * @param mrId
	 * @param visitNumber
	 * @param visitGuid
	 * @return
	 */
	public void insertHospitalVisitRecords(List<Map<String, Object>> datas,User user,String visitGuid);
	
	public List<Map<String, Object>> queryOracleMedicalHospitalRecord(String mrId,Integer visitNumber);
	
	int getHospitalizationNoteCountByMrIdAndOnlyId(String mrId,Integer visitNumber);
    
	
	int synchronizDiseaseDiagInfo(List<Map<String, Object>> diseaseDiagRecords,String mrId,String visitNumber);
	
	
	int synchronizOperateInfo(List<Map<String, Object>> operateRecords,String mrId,String visitNumber);

	List<Map<String, Object>> queryOracleMedicalHospitalVisit(String outHospitalStartDate, String outHospitalEndDate,
			String patientId, Integer visitNum,String outDeptCode);
	
	
	int synchronizAllergyDrugsInfo(String allergyDrugs,String mrId,String visitNumber);

	void synchronizNurseDaysInfo(Map<String,Object> nurseInfoMap, String mrId, String visitNumber);

	void synchronizCrueInfo(Map<String, Object> crueInfoMap, String mrId, String visitNumber);
	
	
	PageInfo<List<Map<String,Object>>> getOracleMedicalPageHospitalVisit(PatVisitVO patVisitVO);
	
	
	List<HospitalVisitInfusionBloodRecord> getBloodTransfusionList(BloodTransfusionVO bloodTransfusionVO);

	Map<String, Object> getPdfRecordSheetFormNurseSystem(String url,String fileLocalDir,String patientId, String visitNumber, String visitGuid,String suffix);
	
	HospitalVisitRecordSheet getRepeactHospitalVisitRecordSheet(String firstGuid, String mrId, String visitNumber, String dateStr);
	
	HospitalVisitExaminationReportsInfo getExaminationReportsInfo(Map<String, Object> hospitalVisitInfo, String firstGuid);
	
	List<Map<String, Object>> getHospitalVisit305InfoByOracleByMrIdAndVisitNumber(String mrId, Integer visitNumber);
	
	Result getRepeatFetchExaminationReportsInfo(Map<String, Object> hospitalVisitInfo, String firstGuid,  String destPath);

	
	
	
	


}











